import type { GeneratedEtsLibFile } from "../../types/generated";

export const FILE: GeneratedEtsLibFile = {
  path: 'ets/api/@ohos.geoLocationManager.d.ts',
  content: "/*\n * Copyright (c) 2022 Huawei Device Co., Ltd.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @file\n * @kit LocationKit\n */\nimport { AsyncCallback, Callback } from './@ohos.base';\nimport { WantAgent } from './@ohos.wantAgent';\nimport { NotificationRequest } from './notification/notificationRequest';\n/**\n * Provides interfaces for acquiring location information, managing location switches,\n * geocoding, reverse geocoding, country code, fencing and other functions.\n *\n * @namespace geoLocationManager\n * @since 9\n */\n/**\n * Provides interfaces for acquiring location information, managing location switches,\n * geocoding, reverse geocoding, country code, fencing and other functions.\n *\n * @namespace geoLocationManager\n * @syscap SystemCapability.Location.Location.Core\n * @atomicservice\n * @since 11\n */\ndeclare namespace geoLocationManager {\n    /**\n     * Subscribe location changed.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { 'locationChange' } type - Indicates the location service event to be subscribed to.\n     * @param { LocationRequest } request - Indicates the location request parameters.\n     * @param { Callback<Location> } callback - Indicates the callback for reporting the location result.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.on('locationChange')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301200 - Failed to obtain the geographical location.\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    /**\n     * Subscribe location changed.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { 'locationChange' } type - Indicates the location service event to be subscribed to.\n     * @param { LocationRequest } request - Indicates the location request parameters.\n     * @param { Callback<Location> } callback - Indicates the callback for reporting the location result.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.on('locationChange')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301200 - Failed to obtain the geographical location.\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 11\n     */\n    /**\n     * Subscribe location changed.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { 'locationChange' } type - Indicates the location service event to be subscribed to.\n     * @param { LocationRequest | ContinuousLocationRequest } request - Indicates the location request parameters.\n     * @param { Callback<Location> } callback - Indicates the callback for reporting the location result.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.on('locationChange')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301200 - Failed to obtain the geographical location.\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 12\n     */\n    /**\n     * Subscribe location changed.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { 'locationChange' } type - Indicates the location service event to be subscribed to.\n     * @param { LocationRequest | ContinuousLocationRequest } request - Indicates the location request parameters.\n     * @param { Callback<Location> } callback - Indicates the callback for reporting the location result.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.on('locationChange')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 18\n     */\n    function on(type: 'locationChange', request: LocationRequest | ContinuousLocationRequest, callback: Callback<Location>): void;\n    /**\n     * Unsubscribe location changed.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { 'locationChange' } type - Indicates the location service event to be subscribed to.\n     * @param { Callback<Location> } [callback] - Indicates the callback for reporting the location result.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.off('locationChange')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301200 - Failed to obtain the geographical location.\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    /**\n     * Unsubscribe location changed.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { 'locationChange' } type - Indicates the location service event to be subscribed to.\n     * @param { Callback<Location> } [callback] - Indicates the callback for reporting the location result.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.off('locationChange')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301200 - Failed to obtain the geographical location.\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 11\n     */\n    /**\n     * Unsubscribe location changed.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { 'locationChange' } type - Indicates the location service event to be subscribed to.\n     * @param { Callback<Location> } [callback] - Indicates the callback for reporting the location result.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.off('locationChange')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 18\n     */\n    function off(type: 'locationChange', callback?: Callback<Location>): void;\n    /**\n     * Subscribe continuous location error changed.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { 'locationError' } type - Indicates the location service event to be subscribed to.\n     * @param { Callback<LocationError> } callback - Indicates the callback for reporting the continuous location error.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.on('locationError')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 12\n     */\n    function on(type: 'locationError', callback: Callback<LocationError>): void;\n    /**\n     * Unsubscribe continuous location error changed.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { 'locationError' } type - Indicates the location service event to be subscribed to.\n     * @param { Callback<LocationError> } [callback] - Indicates the callback for reporting the continuous location error.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.off('locationError')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 12\n     */\n    function off(type: 'locationError', callback?: Callback<LocationError>): void;\n    /**\n     * Subscribe location switch changed.\n     *\n     * @param { 'locationEnabledChange' } type - Indicates the location service event to be subscribed to.\n     * @param { Callback<boolean> } callback - Indicates the callback for reporting the location switch status.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.on('locationEnabledChange')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    function on(type: 'locationEnabledChange', callback: Callback<boolean>): void;\n    /**\n     * Unsubscribe location switch changed.\n     *\n     * @param { 'locationEnabledChange' } type - Indicates the location service event to be subscribed to.\n     * @param { Callback<boolean> } [callback] - Indicates the callback for reporting the location switch status.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.off('locationEnabledChange')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    function off(type: 'locationEnabledChange', callback?: Callback<boolean>): void;\n    /**\n     * Subscribe to cache GNSS locations update messages.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { 'cachedGnssLocationsChange' } type - Indicates the location service event to be subscribed to.\n     * @param { CachedGnssLocationsRequest } request - Indicates the cached GNSS locations request parameters.\n     * @param { Callback<Array<Location>> } callback - Indicates the callback for reporting the cached GNSS locations.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.on('cachedGnssLocationsChange')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301200 - Failed to obtain the geographical location.\n     * @syscap SystemCapability.Location.Location.Gnss\n     * @since 9\n     */\n    /**\n     * Subscribe to cache GNSS locations update messages.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { 'cachedGnssLocationsChange' } type - Indicates the location service event to be subscribed to.\n     * @param { CachedGnssLocationsRequest } request - Indicates the cached GNSS locations request parameters.\n     * @param { Callback<Array<Location>> } callback - Indicates the callback for reporting the cached GNSS locations.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.on('cachedGnssLocationsChange')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @syscap SystemCapability.Location.Location.Gnss\n     * @since 18\n     */\n    function on(type: 'cachedGnssLocationsChange', request: CachedGnssLocationsRequest, callback: Callback<Array<Location>>): void;\n    /**\n     * Unsubscribe to cache GNSS locations update messages.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { 'cachedGnssLocationsChange' } type - Indicates the location service event to be subscribed to.\n     * @param { Callback<Array<Location>> } [callback] - Indicates the callback for reporting the cached gnss locations.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.off('cachedGnssLocationsChange')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301200 - Failed to obtain the geographical location.\n     * @syscap SystemCapability.Location.Location.Gnss\n     * @since 9\n     */\n    /**\n     * Unsubscribe to cache GNSS locations update messages.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { 'cachedGnssLocationsChange' } type - Indicates the location service event to be subscribed to.\n     * @param { Callback<Array<Location>> } [callback] - Indicates the callback for reporting the cached gnss locations.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.off('cachedGnssLocationsChange')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @syscap SystemCapability.Location.Location.Gnss\n     * @since 18\n     */\n    function off(type: 'cachedGnssLocationsChange', callback?: Callback<Array<Location>>): void;\n    /**\n     * Subscribe satellite status changed.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { 'satelliteStatusChange' } type - Indicates the location service event to be subscribed to.\n     * @param { Callback<SatelliteStatusInfo> } callback - Indicates the callback for reporting the satellite status.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.on('satelliteStatusChange')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @syscap SystemCapability.Location.Location.Gnss\n     * @since 9\n     */\n    function on(type: 'satelliteStatusChange', callback: Callback<SatelliteStatusInfo>): void;\n    /**\n     * Unsubscribe satellite status changed.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { 'satelliteStatusChange' } type - Indicates the location service event to be subscribed to.\n     * @param { Callback<SatelliteStatusInfo> } [callback] - Indicates the callback for reporting the satellite status.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.off('satelliteStatusChange')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @syscap SystemCapability.Location.Location.Gnss\n     * @since 9\n     */\n    function off(type: 'satelliteStatusChange', callback?: Callback<SatelliteStatusInfo>): void;\n    /**\n     * Subscribe nmea message changed.\n     *\n     * @permission ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION\n     * @param { 'nmeaMessage' } type - Indicates the location service event to be subscribed to.\n     * @param { Callback<string> } callback - Indicates the callback for reporting the nmea message.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.on('nmeaMessage')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @syscap SystemCapability.Location.Location.Gnss\n     * @since 9\n     */\n    function on(type: 'nmeaMessage', callback: Callback<string>): void;\n    /**\n     * Unsubscribe nmea message changed.\n     *\n     * @permission ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION\n     * @param { 'nmeaMessage' } type - Indicates the location service event to be subscribed to.\n     * @param { Callback<string> } [callback] - Indicates the callback for reporting the nmea message.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.off('nmeaMessage')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @syscap SystemCapability.Location.Location.Gnss\n     * @since 9\n     */\n    function off(type: 'nmeaMessage', callback?: Callback<string>): void;\n    /**\n     * Add a geofence and subscribe geofence status changed.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { 'gnssFenceStatusChange' } type - Indicates the location service event to be subscribed to.\n     * @param { GeofenceRequest } request - Indicates the Geofence configuration parameters.\n     * @param { WantAgent } want - Indicates which ability to start when the geofence event is triggered.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.on('gnssFenceStatusChange')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301600 - Failed to operate the geofence.\n     * @syscap SystemCapability.Location.Location.Geofence\n     * @since 9\n     */\n    function on(type: 'gnssFenceStatusChange', request: GeofenceRequest, want: WantAgent): void;\n    /**\n     * Remove a geofence and unsubscribe geofence status changed.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { 'gnssFenceStatusChange' } type - Indicates the location service event to be subscribed to.\n     * @param { GeofenceRequest } request - Indicates the Geofence configuration parameters.\n     * @param { WantAgent } want - Indicates which ability to start when the geofence event is triggered.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.off('gnssFenceStatusChange')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301600 - Failed to operate the geofence.\n     * @syscap SystemCapability.Location.Location.Geofence\n     * @since 9\n     */\n    function off(type: 'gnssFenceStatusChange', request: GeofenceRequest, want: WantAgent): void;\n    /**\n     * Registering the callback function for listening to country code changes.\n     *\n     * @param { 'countryCodeChange' } type - Indicates the location service event to be subscribed to.\n     * @param { Callback<CountryCode> } callback - Indicates the callback for reporting country code changes.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.on('countryCodeChange')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301500 - Failed to query the area information.\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    function on(type: 'countryCodeChange', callback: Callback<CountryCode>): void;\n    /**\n     * Unregistering the callback function for listening to country code changes.\n     *\n     * @param { 'countryCodeChange' } type - Indicates the location service event to be subscribed to.\n     * @param { Callback<CountryCode> } [callback] - Indicates the callback for reporting country code changes.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.off('countryCodeChange')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301500 - Failed to query the area information.\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    function off(type: 'countryCodeChange', callback?: Callback<CountryCode>): void;\n    /**\n     * Registers and listens to bluetooth scanning results for location services.\n     *\n     * @permission ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION\n     * @param { 'bluetoothScanResultChange' } type - Indicates the location service event to be subscribed to.\n     * @param { Callback<BluetoothScanResult> } callback - Indicates the callback for reporting Bluetooth scan info.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.on('bluetoothScanResultChange')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 16\n     */\n    function on(type: 'bluetoothScanResultChange', callback: Callback<BluetoothScanResult>): void;\n    /**\n     * Stop bluetooth scanning and unregister to listen to bluetooth scanning result changes.\n     *\n     * @permission ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION\n     * @param { 'bluetoothScanResultChange' } type - Indicates the location service event to be subscribed to.\n     * @param { Callback<BluetoothScanResult> } [callback] - Indicates the callback for reporting Bluetooth scan info.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.off('bluetoothScanResultChange')} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 16\n     */\n    function off(type: 'bluetoothScanResultChange', callback?: Callback<BluetoothScanResult>): void;\n    /**\n     * Obtain current location.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { CurrentLocationRequest } request - Indicates the location request parameters.\n     * @param { AsyncCallback<Location> } callback - Indicates the callback for reporting the location result.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.getCurrentLocation} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301200 - Failed to obtain the geographical location.\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    /**\n     * Obtain current location.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { CurrentLocationRequest } request - Indicates the location request parameters.\n     * @param { AsyncCallback<Location> } callback - Indicates the callback for reporting the location result.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.getCurrentLocation} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301200 - Failed to obtain the geographical location.\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 11\n     */\n    /**\n     * Obtain current location.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { CurrentLocationRequest | SingleLocationRequest } request - Indicates the location request parameters.\n     * @param { AsyncCallback<Location> } callback - Indicates the callback for reporting the location result.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.getCurrentLocation} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301200 - Failed to obtain the geographical location.\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 12\n     */\n    function getCurrentLocation(request: CurrentLocationRequest | SingleLocationRequest, callback: AsyncCallback<Location>): void;\n    /**\n     * Obtain current location.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { AsyncCallback<Location> } callback - Indicates the callback for reporting the location result.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.getCurrentLocation} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301200 - Failed to obtain the geographical location.\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    /**\n     * Obtain current location.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { AsyncCallback<Location> } callback - Indicates the callback for reporting the location result.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.getCurrentLocation} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301200 - Failed to obtain the geographical location.\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 11\n     */\n    function getCurrentLocation(callback: AsyncCallback<Location>): void;\n    /**\n     * Obtain current location.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { CurrentLocationRequest } [request] - Indicates the location request parameters.\n     * @returns { Promise<Location> } The promise returned by the function.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.getCurrentLocation} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301200 - Failed to obtain the geographical location.\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    /**\n     * Obtain current location.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { CurrentLocationRequest } [request] - Indicates the location request parameters.\n     * @returns { Promise<Location> } The promise returned by the function.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.getCurrentLocation} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301200 - Failed to obtain the geographical location.\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 11\n     */\n    /**\n     * Obtain current location.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { CurrentLocationRequest | SingleLocationRequest } [request] - Indicates the location request parameters.\n     * @returns { Promise<Location> } The promise returned by the function.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.getCurrentLocation} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301200 - Failed to obtain the geographical location.\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 12\n     */\n    function getCurrentLocation(request?: CurrentLocationRequest | SingleLocationRequest): Promise<Location>;\n    /**\n     * Obtain last known location.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @returns { Location } The last known location information.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.getLastLocation} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301200 - Failed to obtain the geographical location.\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    /**\n     * Obtain last known location.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @returns { Location } The last known location information.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.getLastLocation} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301200 - Failed to obtain the geographical location.\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 11\n     */\n    function getLastLocation(): Location;\n    /**\n     * Obtain current location switch status.\n     *\n     * @returns { boolean } Returns {@code true} if the location switch on, returns {@code false} otherwise.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.isLocationEnabled} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    /**\n     * Obtain current location switch status.\n     *\n     * @returns { boolean } Returns {@code true} if the location switch on, returns {@code false} otherwise.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.isLocationEnabled} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 11\n     */\n    function isLocationEnabled(): boolean;\n    /**\n     * Obtain address info from location.\n     *\n     * @param { ReverseGeoCodeRequest } request - Indicates the reverse geocode query parameters.\n     * @param { AsyncCallback<Array<GeoAddress>> } callback - Indicates the callback for reporting the address info.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.getAddressesFromLocation} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301300 - Reverse geocoding query failed.\n     * @syscap SystemCapability.Location.Location.Geocoder\n     * @since 9\n     */\n    function getAddressesFromLocation(request: ReverseGeoCodeRequest, callback: AsyncCallback<Array<GeoAddress>>): void;\n    /**\n     * Obtain address info from location.\n     *\n     * @param { ReverseGeoCodeRequest } request - Indicates the reverse geocode query parameters.\n     * @returns { Promise<Array<GeoAddress>> } The promise returned by the function.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.getAddressesFromLocation} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301300 - Reverse geocoding query failed.\n     * @syscap SystemCapability.Location.Location.Geocoder\n     * @since 9\n     */\n    function getAddressesFromLocation(request: ReverseGeoCodeRequest): Promise<Array<GeoAddress>>;\n    /**\n     * Obtain latitude and longitude info from location address.\n     *\n     * @param { GeoCodeRequest } request - Indicates the geocode query parameters.\n     * @param { AsyncCallback<Array<GeoAddress>> } callback - Indicates the callback for reporting the latitude and longitude result.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.getAddressesFromLocationName} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301400 - Geocoding query failed.\n     * @syscap SystemCapability.Location.Location.Geocoder\n     * @since 9\n     */\n    function getAddressesFromLocationName(request: GeoCodeRequest, callback: AsyncCallback<Array<GeoAddress>>): void;\n    /**\n     * Obtain latitude and longitude info from location address.\n     *\n     * @param { GeoCodeRequest } request - Indicates the geocode query parameters.\n     * @returns { Promise<Array<GeoAddress>> } The promise returned by the function.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.getAddressesFromLocationName} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301400 - Geocoding query failed.\n     * @syscap SystemCapability.Location.Location.Geocoder\n     * @since 9\n     */\n    function getAddressesFromLocationName(request: GeoCodeRequest): Promise<Array<GeoAddress>>;\n    /**\n     * Obtain geocoding service status.\n     *\n     * @returns { boolean } Returns {@code true} if geocoding service is available, returns {@code false} otherwise.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.isGeocoderAvailable} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @syscap SystemCapability.Location.Location.Geocoder\n     * @since 9\n     */\n    function isGeocoderAvailable(): boolean;\n    /**\n     * Obtain the number of cached GNSS locations reported at a time.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { AsyncCallback<number> } callback - Indicates the callback for reporting the cached GNSS locations size.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.getCachedGnssLocationsSize} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @syscap SystemCapability.Location.Location.Gnss\n     * @since 9\n     */\n    function getCachedGnssLocationsSize(callback: AsyncCallback<number>): void;\n    /**\n     * Obtain the number of cached GNSS locations.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @returns { Promise<number> } The promise returned by the function.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.getCachedGnssLocationsSize} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @syscap SystemCapability.Location.Location.Gnss\n     * @since 9\n     */\n    function getCachedGnssLocationsSize(): Promise<number>;\n    /**\n     * All prepared GNSS locations are returned to the application through the callback function,\n     * and the bottom-layer buffer is cleared.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @param { AsyncCallback<void> } callback - Indicates the callback for reporting the error message.\n     * If the function fails to execute, the error message will be carried in the first parameter err of AsyncCallback,\n     * If the function executes successfully, execute the callback function only, no data will be returned.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.flushCachedGnssLocations} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301200 - Failed to obtain the geographical location.\n     * @syscap SystemCapability.Location.Location.Gnss\n     * @since 9\n     */\n    function flushCachedGnssLocations(callback: AsyncCallback<void>): void;\n    /**\n     * All prepared GNSS locations are returned to the application,\n     * and the bottom-layer buffer is cleared.\n     *\n     * @permission ohos.permission.APPROXIMATELY_LOCATION\n     * @returns { Promise<void> } The promise returned by the function.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.flushCachedGnssLocations} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301200 - Failed to obtain the geographical location.\n     * @syscap SystemCapability.Location.Location.Gnss\n     * @since 9\n     */\n    function flushCachedGnssLocations(): Promise<void>;\n    /**\n     * Send extended commands to location subsystem.\n     *\n     * @param { LocationCommand } command - Indicates the extended command message body.\n     * @param { AsyncCallback<void> } callback - Indicates the callback for reporting the error message.\n     * If the function fails to execute, the error message will be carried in the first parameter err of AsyncCallback,\n     * If the function executes successfully, execute the callback function only, no data will be returned.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.sendCommand} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    function sendCommand(command: LocationCommand, callback: AsyncCallback<void>): void;\n    /**\n     * Send extended commands to location subsystem.\n     *\n     * @param { LocationCommand } command - Indicates the extended command message body.\n     * @returns { Promise<void> } The promise returned by the function.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.sendCommand} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    function sendCommand(command: LocationCommand): Promise<void>;\n    /**\n     * Obtain the current country code.\n     *\n     * @param { AsyncCallback<CountryCode> } callback - Indicates the callback for reporting the country code.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.getCountryCode} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301500 - Failed to query the area information.\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    function getCountryCode(callback: AsyncCallback<CountryCode>): void;\n    /**\n     * Obtain the current country code.\n     *\n     * @returns { Promise<CountryCode> } The promise returned by the function.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.getCountryCode} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301500 - Failed to query the area information.\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    function getCountryCode(): Promise<CountryCode>;\n    /**\n     * Add a geofence.\n     *\n     * @permission ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION\n     * @param { GnssGeofenceRequest } fenceRequest - Indicates the Geofence configuration parameters.\n     * @returns { Promise<number> } The promise returned by the function, for reporting the ID of geofence.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.addGnssGeofence} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301601 - The number of geofences exceeds the maximum.\n     * @syscap SystemCapability.Location.Location.Geofence\n     * @since 12\n     */\n    function addGnssGeofence(fenceRequest: GnssGeofenceRequest): Promise<number>;\n    /**\n     * Remove a geofence.\n     *\n     * @permission ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION\n     * @param { number } geofenceId - Indicates the ID of geofence.\n     * @returns { Promise<void> } The promise returned by the function.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.removeGnssGeofence} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301602 - Failed to delete a geofence due to an incorrect ID.\n     * @syscap SystemCapability.Location.Location.Geofence\n     * @since 12\n     */\n    function removeGnssGeofence(geofenceId: number): Promise<void>;\n    /**\n     * Obtains the coordinate system types supported by geofence.\n     *\n     * @returns { Array<CoordinateSystemType> } Return the coordinate system types supported by geofence.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.getGeofenceSupportedCoordTypes} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @syscap SystemCapability.Location.Location.Geofence\n     * @since 12\n     */\n    function getGeofenceSupportedCoordTypes(): Array<CoordinateSystemType>;\n    /**\n     * Obtains the BSSID of the connected Wi-Fi hotspot.\n     * @permission ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION\n     * @returns {string} Returns the BSSID of the connected Wi-Fi hotspot.\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.getCurrentWifiBssidForLocating()} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @throws { BusinessError } 3301900 - Failed to obtain the BSSID of the Wi-Fi hotspot. The Wi-Fi network is not connected.\n     * @syscap SystemCapability.Location.Location.Core\n     * @crossplatform\n     * @since 14\n     */\n    function getCurrentWifiBssidForLocating(): string;\n    /**\n     * Obtains the distance between two locations.\n     *\n     * @param { Location } location1 - Indicates first location.\n     * @param { Location } location2 - Indicates second location.\n     * @returns { number } Returns the distance between two locations.\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 20\n     */\n    function getDistanceBetweenLocations(location1: Location, location2: Location): number;\n    /**\n     * Check whether the POI service is supported.\n     *\n     * @returns { boolean } Returns {@code true} if POI service is available, returns {@code false} otherwise.\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 20\n     */\n    function isPoiServiceSupported(): boolean;\n    /**\n     * Obtaining POI Information.\n     *\n     * @permission ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION\n     * @returns { Promise<PoiInfo> } The promise returned by the function, for reporting POI info.\n     *\n     * @throws { BusinessError } 201 - Permission verification failed. The application does not have the permission required to call the API.\n     * @throws { BusinessError } 801 - Capability not supported. Failed to call ${geoLocationManager.getPoiInfo} due to limited device capabilities.\n     * @throws { BusinessError } 3301000 - The location service is unavailable.\n     * @throws { BusinessError } 3301100 - The location switch is off.\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 20\n     */\n    function getPoiInfo(): Promise<PoiInfo>;\n    /**\n     * Satellite status information.\n     *\n     * @typedef SatelliteStatusInfo\n     * @syscap SystemCapability.Location.Location.Gnss\n     * @since 9\n     */\n    export interface SatelliteStatusInfo {\n        /**\n         * Number of satellites.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 9\n         */\n        satellitesNumber: number;\n        /**\n         * Satellite ID array.\n         *\n         * @type { Array<number> }\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 9\n         */\n        satelliteIds: Array<number>;\n        /**\n         * Carrier to noise density array.\n         *\n         * @type { Array<number> }\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 9\n         */\n        carrierToNoiseDensitys: Array<number>;\n        /**\n         * Satellite altitude array.\n         *\n         * @type { Array<number> }\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 9\n         */\n        altitudes: Array<number>;\n        /**\n         * Satellite azimuth array.\n         *\n         * @type { Array<number> }\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 9\n         */\n        azimuths: Array<number>;\n        /**\n         * Satellite carrier frequency array.\n         *\n         * @type { Array<number> }\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 9\n         */\n        carrierFrequencies: Array<number>;\n        /**\n         * Satellite constellation type array.\n         *\n         * @type { ?Array<SatelliteConstellationCategory> }\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 12\n         */\n        satelliteConstellation?: Array<SatelliteConstellationCategory>;\n        /**\n         * Satellite additional information array.\n         *\n         * @type { ?Array<number> }\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 12\n         */\n        satelliteAdditionalInfo?: Array<number>;\n    }\n    /**\n     * Parameters for requesting to report cache location information.\n     *\n     * @typedef CachedGnssLocationsRequest\n     * @syscap SystemCapability.Location.Location.Gnss\n     * @since 9\n     */\n    export interface CachedGnssLocationsRequest {\n        /**\n         * GNSS cache location report period.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 9\n         */\n        reportingPeriodSec: number;\n        /**\n         * Indicates whether to wake up the listener when the GNSS cache location queue is full.\n         *\n         * @type { boolean }\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 9\n         */\n        wakeUpCacheQueueFull: boolean;\n    }\n    /**\n     * Configuring parameters in GNSS geofence requests.\n     *\n     * @typedef GnssGeofenceRequest\n     * @syscap SystemCapability.Location.Location.Geofence\n     * @since 12\n     */\n    export interface GnssGeofenceRequest {\n        /**\n         * Circular fence information.\n         *\n         * @type { Geofence }\n         * @syscap SystemCapability.Location.Location.Geofence\n         * @since 12\n         */\n        geofence: Geofence;\n        /**\n         * Indicates geofence transition status monitored.\n         *\n         * @type { Array<GeofenceTransitionEvent> }\n         * @syscap SystemCapability.Location.Location.Geofence\n         * @since 12\n         */\n        monitorTransitionEvents: Array<GeofenceTransitionEvent>;\n        /**\n         * Indicates the geofence notifications to publish.\n         *\n         * @type { ?Array<NotificationRequest> }\n         * @syscap SystemCapability.Location.Location.Geofence\n         * @since 12\n         */\n        notifications?: Array<NotificationRequest>;\n        /**\n         * Indicates the callback for reporting the geofence transition status.\n         *\n         * @type { AsyncCallback<GeofenceTransition> }\n         * @syscap SystemCapability.Location.Location.Geofence\n         * @since 12\n         */\n        geofenceTransitionCallback: AsyncCallback<GeofenceTransition>;\n    }\n    /**\n     * Configuring parameters in geofence requests.\n     *\n     * @typedef GeofenceRequest\n     * @syscap SystemCapability.Location.Location.Geofence\n     * @since 9\n     */\n    export interface GeofenceRequest {\n        /**\n         * Indicate the user scenario.\n         *\n         * @type { LocationRequestScenario }\n         * @syscap SystemCapability.Location.Location.Geofence\n         * @since 9\n         */\n        scenario: LocationRequestScenario;\n        /**\n         * Circular fence information.\n         *\n         * @type { Geofence }\n         * @syscap SystemCapability.Location.Location.Geofence\n         * @since 9\n         */\n        geofence: Geofence;\n    }\n    /**\n     * Circular fence information.\n     *\n     * @typedef Geofence\n     * @syscap SystemCapability.Location.Location.Geofence\n     * @since 9\n     */\n    export interface Geofence {\n        /**\n         * Latitude of the center point of the circular fence.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Geofence\n         * @since 9\n         */\n        latitude: number;\n        /**\n         * Longitude of the center point of the circular fence.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Geofence\n         * @since 9\n         */\n        longitude: number;\n        /**\n         * Coordinate system type.\n         *\n         * @type { ?CoordinateSystemType }\n         * @syscap SystemCapability.Location.Location.Geofence\n         * @since 12\n         */\n        coordinateSystemType?: CoordinateSystemType;\n        /**\n         * Radius of the circular fence.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Geofence\n         * @since 9\n         */\n        radius: number;\n        /**\n         * Expiration of the circular fence.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Geofence\n         * @since 9\n         */\n        expiration: number;\n    }\n    /**\n     * Configuring parameters in reverse geocode requests.\n     *\n     * @typedef ReverseGeoCodeRequest\n     * @syscap SystemCapability.Location.Location.Geocoder\n     * @since 9\n     */\n    export interface ReverseGeoCodeRequest {\n        /**\n         * Indicates the language area information.\n         *\n         * @type { ?string }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        locale?: string;\n        /**\n         * Indicates the country information.\n         *\n         * @type { ?string }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 12\n         */\n        country?: string;\n        /**\n         * Latitude for reverse geocoding query.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        latitude: number;\n        /**\n         * Longitude for reverse geocoding query.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        longitude: number;\n        /**\n         * Indicates the maximum number of addresses returned by reverse geocoding query.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        maxItems?: number;\n    }\n    /**\n     * Configuring parameters in geocode requests.\n     *\n     * @typedef GeoCodeRequest\n     * @syscap SystemCapability.Location.Location.Geocoder\n     * @since 9\n     */\n    export interface GeoCodeRequest {\n        /**\n         * Indicates the language area information.\n         *\n         * @type { ?string }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        locale?: string;\n        /**\n         * Indicates the country information.\n         *\n         * @type { ?string }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 12\n         */\n        country?: string;\n        /**\n         * Address information.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        description: string;\n        /**\n         * Indicates the maximum number of geocode query results.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        maxItems?: number;\n        /**\n         * Indicates the minimum latitude for geocoding query results.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        minLatitude?: number;\n        /**\n         * Indicates the minimum longitude for geocoding query results.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        minLongitude?: number;\n        /**\n         * Indicates the maximum latitude for geocoding query results.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        maxLatitude?: number;\n        /**\n         * Indicates the maximum longitude for geocoding query results.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        maxLongitude?: number;\n    }\n    /**\n     * Data struct describes geographic locations.\n     *\n     * @typedef GeoAddress\n     * @syscap SystemCapability.Location.Location.Geocoder\n     * @since 9\n     */\n    export interface GeoAddress {\n        /**\n         * Indicates latitude information.\n         * A positive value indicates north latitude,\n         * and a negative value indicates south latitude.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        latitude?: number;\n        /**\n         * Indicates longitude information.\n         * A positive value indicates east longitude ,\n         * and a negative value indicates west longitude.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        longitude?: number;\n        /**\n         * Indicates language used for the location description.\n         * zh indicates Chinese, and en indicates English.\n         *\n         * @type { ?string }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        locale?: string;\n        /**\n         * Indicates detailed address information.\n         *\n         * @type { ?string }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        placeName?: string;\n        /**\n         * Indicates country code.\n         *\n         * @type { ?string }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        countryCode?: string;\n        /**\n         * Indicates country name.\n         *\n         * @type { ?string }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        countryName?: string;\n        /**\n         * Indicates administrative region name.\n         *\n         * @type { ?string }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        administrativeArea?: string;\n        /**\n         * Indicates sub-administrative region name.\n         *\n         * @type { ?string }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        subAdministrativeArea?: string;\n        /**\n         * Indicates locality information.\n         *\n         * @type { ?string }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        locality?: string;\n        /**\n         * Indicates sub-locality information.\n         *\n         * @type { ?string }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        subLocality?: string;\n        /**\n         * Indicates road name.\n         *\n         * @type { ?string }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        roadName?: string;\n        /**\n         * Indicates auxiliary road information.\n         *\n         * @type { ?string }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        subRoadName?: string;\n        /**\n         * Indicates house information.\n         *\n         * @type { ?string }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        premises?: string;\n        /**\n         * Indicates postal code.\n         *\n         * @type { ?string }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        postalCode?: string;\n        /**\n         * Indicates phone number.\n         *\n         * @type { ?string }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        phoneNumber?: string;\n        /**\n         * Indicates website URL.\n         *\n         * @type { ?string }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        addressUrl?: string;\n        /**\n         * Indicates additional information.\n         *\n         * @type { ?Array<string> }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        descriptions?: Array<string>;\n        /**\n         * Indicates the amount of additional descriptive information.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Geocoder\n         * @since 9\n         */\n        descriptionsSize?: number;\n    }\n    /**\n     * Configuring parameters in location requests.\n     *\n     * @typedef LocationRequest\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    /**\n     * Configuring parameters in location requests.\n     *\n     * @typedef LocationRequest\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 11\n     */\n    export interface LocationRequest {\n        /**\n         * Priority of the location request.\n         *\n         * @type { ?LocationRequestPriority }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Priority of the location request.\n         *\n         * @type { ?LocationRequestPriority }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        priority?: LocationRequestPriority;\n        /**\n         * User scenario of the location request.\n         *\n         * @type { ?LocationRequestScenario }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * User scenario of the location request.\n         *\n         * @type { ?LocationRequestScenario }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        scenario?: LocationRequestScenario;\n        /**\n         * Location report interval.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Location report interval.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        timeInterval?: number;\n        /**\n         * Location report distance interval.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Location report distance interval.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        distanceInterval?: number;\n        /**\n         * Accuracy requirements for reporting locations.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Accuracy requirements for reporting locations.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        maxAccuracy?: number;\n    }\n    /**\n     * Configuring parameters in current location requests.\n     *\n     * @typedef CurrentLocationRequest\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    /**\n     * Configuring parameters in current location requests.\n     *\n     * @typedef CurrentLocationRequest\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 11\n     */\n    export interface CurrentLocationRequest {\n        /**\n         * Priority of the location request.\n         *\n         * @type { ?LocationRequestPriority }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Priority of the location request.\n         *\n         * @type { ?LocationRequestPriority }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        priority?: LocationRequestPriority;\n        /**\n         * User scenario of the location request.\n         *\n         * @type { ?LocationRequestScenario }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * User scenario of the location request.\n         *\n         * @type { ?LocationRequestScenario }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        scenario?: LocationRequestScenario;\n        /**\n         * Accuracy requirements for reporting locations.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Accuracy requirements for reporting locations.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        maxAccuracy?: number;\n        /**\n         * Timeout interval of a single location request.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Timeout interval of a single location request.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        timeoutMs?: number;\n    }\n    /**\n     * Geofence transition status.\n     *\n     * @typedef GeofenceTransition\n     * @syscap SystemCapability.Location.Location.Geofence\n     * @since 12\n     */\n    export interface GeofenceTransition {\n        /**\n         * ID of the geofence.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Geofence\n         * @since 12\n         */\n        geofenceId: number;\n        /**\n         * Indicates the geofence transition status.\n         *\n         * @type { GeofenceTransitionEvent }\n         * @syscap SystemCapability.Location.Location.Geofence\n         * @since 12\n         */\n        transitionEvent: GeofenceTransitionEvent;\n    }\n    /**\n     * Configuring parameters in continuous location requests.\n     *\n     * @typedef ContinuousLocationRequest\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 12\n     */\n    export interface ContinuousLocationRequest {\n        /**\n         * Location report interval, in seconds.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        interval: number;\n        /**\n         * Location scenario. You can select a user activity scenario or power consumption scenario.\n         *\n         * @type { UserActivityScenario | PowerConsumptionScenario }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        locationScenario: UserActivityScenario | PowerConsumptionScenario;\n        /**\n         * Indicates whether to obtain POI information near the current location.\n         *\n         * @type { ?boolean }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 19\n         */\n        needPoi?: boolean;\n    }\n    /**\n     * Configuring parameters in single location requests.\n     *\n     * @typedef SingleLocationRequest\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 12\n     */\n    export interface SingleLocationRequest {\n        /**\n         * Priority of the location request.\n         *\n         * @type { LocatingPriority }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        locatingPriority: LocatingPriority;\n        /**\n         * Timeout of a single location request, in milliseconds.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        locatingTimeoutMs: number;\n        /**\n         * Indicates whether to obtain POI information near the current location.\n         *\n         * @type { ?boolean }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 19\n         */\n        needPoi?: boolean;\n    }\n    /**\n     * Provides information about geographic locations.\n     *\n     * @typedef Location\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    /**\n     * Provides information about geographic locations.\n     *\n     * @typedef Location\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 11\n     */\n    export interface Location {\n        /**\n         * Indicates latitude information.\n         * A positive value indicates north latitude,\n         * and a negative value indicates south latitude.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Indicates latitude information.\n         * A positive value indicates north latitude,\n         * and a negative value indicates south latitude.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        latitude: number;\n        /**\n         * Indicates Longitude information.\n         * A positive value indicates east longitude ,\n         * and a negative value indicates west longitude.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Indicates Longitude information.\n         * A positive value indicates east longitude ,\n         * and a negative value indicates west longitude.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        longitude: number;\n        /**\n         * Indicates location altitude, in meters.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Indicates location altitude, in meters.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        altitude: number;\n        /**\n         * Indicates location accuracy, in meters.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Indicates location accuracy, in meters.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        accuracy: number;\n        /**\n         * Indicates speed, in m/s.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Indicates speed, in m/s.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        speed: number;\n        /**\n         * Indicates location timestamp in the UTC format.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Indicates location timestamp in the UTC format.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        timeStamp: number;\n        /**\n         * Indicates direction information.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Indicates direction information.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        direction: number;\n        /**\n         * Indicates location timestamp since boot.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Indicates location timestamp since boot.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        timeSinceBoot: number;\n        /**\n         * Indicates additional information.\n         *\n         * @type { ?Array<string> }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Indicates additional information.\n         *\n         * @type { ?Array<string> }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        additions?: Array<string>;\n        /**\n         * Indicates additional information map.\n         *\n         * @type { ?Map<string, string> }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        additionsMap?: Map<string, string>;\n        /**\n         * Indicates the amount of additional descriptive information.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Indicates the amount of additional descriptive information.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        additionSize?: number;\n        /**\n         * Indicates vertical position accuracy in meters.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        altitudeAccuracy?: number;\n        /**\n         * Indicates speed accuracy in meter per seconds.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        speedAccuracy?: number;\n        /**\n         * Indicates direction accuracy in degrees.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        directionAccuracy?: number;\n        /**\n         * Time uncertainty Of timeSinceBoot in nanosecond.\n         *\n         * @type { ?number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        uncertaintyOfTimeSinceBoot?: number;\n        /**\n         * Indicates the source of the location.\n         *\n         * @type { ?LocationSourceType }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        sourceType?: LocationSourceType;\n        /**\n         * Indicates the poi information.\n         *\n         * @type { ?PoiInfo }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 19\n         */\n        poi?: PoiInfo;\n    }\n    /**\n     * Describes the contents of the bluetooth scan results.\n     *\n     * @typedef BluetoothScanResult\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 16\n     */\n    export interface BluetoothScanResult {\n        /**\n         * Address of the scanned device\n         *\n         * @type { string }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 16\n         */\n        deviceId: string;\n        /**\n         * RSSI of the scanned device\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 16\n         */\n        rssi: number;\n        /**\n         * The raw data of broadcast packet\n         *\n         * @type { ?ArrayBuffer }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 16\n         */\n        data?: ArrayBuffer;\n        /**\n         * The local name of the scanned device\n         *\n         * @type { string }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 16\n         */\n        deviceName: string;\n        /**\n         * Connectable of the scanned device\n         *\n         * @type { boolean }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 16\n         */\n        connectable: boolean;\n    }\n    /**\n     * Describes the information about a single POI.\n     *\n     * @typedef Poi\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 19\n     */\n    export interface Poi {\n        /**\n         * Indicates the ID of a POI.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 19\n         */\n        id: string;\n        /**\n         * Indicates the confidence of POI information.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 19\n         */\n        confidence: number;\n        /**\n         * Indicates the name of the POI.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 19\n         */\n        name: string;\n        /**\n         * Indicates the latitude of POI.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 19\n         */\n        latitude: number;\n        /**\n         * Indicates the longitude of POI.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 19\n         */\n        longitude: number;\n        /**\n         * Indicates administrative region name.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 19\n         */\n        administrativeArea: string;\n        /**\n         * Indicates sub-administrative region name.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 19\n         */\n        subAdministrativeArea: string;\n        /**\n         * Indicates locality information.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 19\n         */\n        locality: string;\n        /**\n         * Indicates sub-locality information.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 19\n         */\n        subLocality: string;\n        /**\n         * Indicates the detailed address of the POI.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 19\n         */\n        address: string;\n    }\n    /**\n     * Describes the POI information struct.\n     *\n     * @typedef PoiInfo\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 19\n     */\n    export interface PoiInfo {\n        /**\n         * Indicates POI information list.\n         *\n         * @type { Array<Poi> }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 19\n         */\n        poiArray: Array<Poi>;\n        /**\n         * Indicates the timestamp when the POI information is obtained.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 19\n         */\n        timestamp: number;\n    }\n    /**\n     * Enum for the source of the location.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 12\n     */\n    export enum LocationSourceType {\n        /**\n         * The location is obtained from the GNSS.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        GNSS = 1,\n        /**\n         * The location comes from the network positioning technology.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        NETWORK = 2,\n        /**\n         * The location comes from the indoor positioning technology.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        INDOOR = 3,\n        /**\n         * The location comes from the GNSS RTK technology.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        RTK = 4\n    }\n    /**\n     * Enum for coordinate system type.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Location.Location.Geofence\n     * @since 12\n     */\n    export enum CoordinateSystemType {\n        /**\n         * WGS84 coordinates system.\n         *\n         * @syscap SystemCapability.Location.Location.Geofence\n         * @since 12\n         */\n        WGS84 = 1,\n        /**\n         * GCJ-02 coordinates system.\n         *\n         * @syscap SystemCapability.Location.Location.Geofence\n         * @since 12\n         */\n        GCJ02 = 2\n    }\n    /**\n     * Enum for location error code.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 12\n     */\n    export enum LocationError {\n        /**\n         * Default cause for location failure.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        LOCATING_FAILED_DEFAULT = -1,\n        /**\n         * Locating failed because the location permission fails to be verified.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        LOCATING_FAILED_LOCATION_PERMISSION_DENIED = -2,\n        /**\n         * Locating failed because the app is in the background and the background location permission verification failed.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        LOCATING_FAILED_BACKGROUND_PERMISSION_DENIED = -3,\n        /**\n         * Locating failed because the location switch is turned off.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        LOCATING_FAILED_LOCATION_SWITCH_OFF = -4,\n        /**\n         * Locating failed because internet access failure.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        LOCATING_FAILED_INTERNET_ACCESS_FAILURE = -5\n    }\n    /**\n     * Enum for geofence transition status.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Location.Location.Geofence\n     * @since 12\n     */\n    export enum GeofenceTransitionEvent {\n        /**\n         * The device is within the geofence.\n         *\n         * @syscap SystemCapability.Location.Location.Geofence\n         * @since 12\n         */\n        GEOFENCE_TRANSITION_EVENT_ENTER = 1,\n        /**\n         * The device is out of the geofence.\n         *\n         * @syscap SystemCapability.Location.Location.Geofence\n         * @since 12\n         */\n        GEOFENCE_TRANSITION_EVENT_EXIT = 2,\n        /**\n         * The device is in the geographical fence for a period of time.\n         *\n         * @syscap SystemCapability.Location.Location.Geofence\n         * @since 12\n         */\n        GEOFENCE_TRANSITION_EVENT_DWELL = 4\n    }\n    /**\n     * Enum for satellite constellation category.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Location.Location.Gnss\n     * @since 12\n     */\n    export enum SatelliteConstellationCategory {\n        /**\n         * Invalid value.\n         *\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 12\n         */\n        CONSTELLATION_CATEGORY_UNKNOWN = 0,\n        /**\n         * GPS.\n         *\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 12\n         */\n        CONSTELLATION_CATEGORY_GPS = 1,\n        /**\n         * SBAS.\n         *\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 12\n         */\n        CONSTELLATION_CATEGORY_SBAS = 2,\n        /**\n         * GLONASS.\n         *\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 12\n         */\n        CONSTELLATION_CATEGORY_GLONASS = 3,\n        /**\n         * QZSS.\n         *\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 12\n         */\n        CONSTELLATION_CATEGORY_QZSS = 4,\n        /**\n         * BEIDOU.\n         *\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 12\n         */\n        CONSTELLATION_CATEGORY_BEIDOU = 5,\n        /**\n         * GALILEO.\n         *\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 12\n         */\n        CONSTELLATION_CATEGORY_GALILEO = 6,\n        /**\n         * IRNSS.\n         *\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 12\n         */\n        CONSTELLATION_CATEGORY_IRNSS = 7\n    }\n    /**\n     * Enum for satellite additional information.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Location.Location.Gnss\n     * @since 12\n     */\n    export enum SatelliteAdditionalInfo {\n        /**\n         * Default value.\n         *\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 12\n         */\n        SATELLITES_ADDITIONAL_INFO_NULL = 0,\n        /**\n         * Ephemeris data exist.\n         *\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 12\n         */\n        SATELLITES_ADDITIONAL_INFO_EPHEMERIS_DATA_EXIST = 1,\n        /**\n         * Almanac data exist.\n         *\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 12\n         */\n        SATELLITES_ADDITIONAL_INFO_ALMANAC_DATA_EXIST = 2,\n        /**\n         * This satellite is being used in location fix.\n         *\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 12\n         */\n        SATELLITES_ADDITIONAL_INFO_USED_IN_FIX = 4,\n        /**\n         * Carrier frequency exist.\n         *\n         * @syscap SystemCapability.Location.Location.Gnss\n         * @since 12\n         */\n        SATELLITES_ADDITIONAL_INFO_CARRIER_FREQUENCY_EXIST = 8\n    }\n    /**\n     * Enum for user activity scenario.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 12\n     */\n    export enum UserActivityScenario {\n        /**\n         * Navigation scenario. High positioning precision and real-time performance are required.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        NAVIGATION = 0x401,\n        /**\n         * Sport scenario. High positioning precision is required.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        SPORT = 0x402,\n        /**\n         * Transport scenario. High positioning precision and real-time performance are required.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        TRANSPORT = 0x403,\n        /**\n         * Daily life scenarios. Low requirements on positioning precision.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        DAILY_LIFE_SERVICE = 0x404\n    }\n    /**\n     * Enum for locating priority.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 12\n     */\n    export enum LocatingPriority {\n        /**\n         * Preferentially ensure the highest locating accuracy.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        PRIORITY_ACCURACY = 0x501,\n        /**\n         * Preferentially ensure the fastest locating speed.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        PRIORITY_LOCATING_SPEED = 0x502\n    }\n    /**\n     * Enum for location priority.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    /**\n     * Enum for location priority.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 11\n     */\n    export enum LocationRequestPriority {\n        /**\n         * Default priority.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Default priority.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        UNSET = 0x200,\n        /**\n         * Preferentially ensure the locating accuracy.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Preferentially ensure the locating accuracy.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        ACCURACY,\n        /**\n         * Preferentially ensure low power consumption for locating.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Preferentially ensure low power consumption for locating.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        LOW_POWER,\n        /**\n         * Preferentially ensure that the first location is time-consuming.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Preferentially ensure that the first location is time-consuming.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        FIRST_FIX\n    }\n    /**\n     * Enum for location scenario.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    /**\n     * Enum for location scenario.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 11\n     */\n    export enum LocationRequestScenario {\n        /**\n         * Default scenario.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Default scenario.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        UNSET = 0x300,\n        /**\n         * Navigation scenario. High positioning precision and real-time performance are required.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Navigation scenario. High positioning precision and real-time performance are required.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        NAVIGATION,\n        /**\n         * Trajectory tracking scenario. High positioning precision is required.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Trajectory tracking scenario. High positioning precision is required.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        TRAJECTORY_TRACKING,\n        /**\n         * Car hailing scenario. High positioning precision and real-time performance are required.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Car hailing scenario. High positioning precision and real-time performance are required.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        CAR_HAILING,\n        /**\n         * Daily life scenarios. Low requirements on positioning precision and real-time performance.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Daily life scenarios. Low requirements on positioning precision and real-time performance.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        DAILY_LIFE_SERVICE,\n        /**\n         * Power saving scenarios.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        /**\n         * Power saving scenarios.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 11\n         */\n        NO_POWER\n    }\n    /**\n     * Enum for power consumption scenario.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 12\n     */\n    export enum PowerConsumptionScenario {\n        /**\n         * High power consumption mode.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        HIGH_POWER_CONSUMPTION = 0x601,\n        /**\n         * Low power consumption mode.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        LOW_POWER_CONSUMPTION = 0x602,\n        /**\n         * Power saving scenarios.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 12\n         */\n        NO_POWER_CONSUMPTION = 0x603\n    }\n    /**\n     * Enum for sports type\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Location.Location.Core\n     * @atomicservice\n     * @since 18\n     */\n    export enum SportsType {\n        /**\n         * Indicates running.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 18\n         */\n        RUNNING = 1,\n        /**\n         * Indicates walking.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 18\n         */\n        WALKING,\n        /**\n         * Indicates cycling.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @atomicservice\n         * @since 18\n         */\n        CYCLING\n    }\n    /**\n     * Location subsystem command structure.\n     *\n     * @typedef LocationCommand\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    export interface LocationCommand {\n        /**\n         * Information about the scenario where the command is sent.\n         *\n         * @type { LocationRequestScenario }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        scenario: LocationRequestScenario;\n        /**\n         * Sent command content.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        command: string;\n    }\n    /**\n     * Country code structure.\n     *\n     * @typedef CountryCode\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    export interface CountryCode {\n        /**\n         * Country code character string.\n         *\n         * @type { string }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        country: string;\n        /**\n         * Country code source.\n         *\n         * @type { CountryCodeType }\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        type: CountryCodeType;\n    }\n    /**\n     * Enum for country code type.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Location.Location.Core\n     * @since 9\n     */\n    export enum CountryCodeType {\n        /**\n         * Country code obtained from the locale setting.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        COUNTRY_CODE_FROM_LOCALE = 1,\n        /**\n         * Country code obtained from the SIM information.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        COUNTRY_CODE_FROM_SIM,\n        /**\n         * Query the country code information from the reverse geocoding result.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        COUNTRY_CODE_FROM_LOCATION,\n        /**\n         * Obtain the country code from the cell registration information.\n         *\n         * @syscap SystemCapability.Location.Location.Core\n         * @since 9\n         */\n        COUNTRY_CODE_FROM_NETWORK\n    }\n}\nexport default geoLocationManager;\n",
}
export default FILE;